package dondeestamitransporte.mundo;

import java.util.ArrayList;
import java.util.Calendar;

public class RutaPasajero 
{
	private String nombre;
	
	private String nombreParadero;
	
	private ArrayList<String> companheros;
	
	private ArrayList<String> choferes;
	
	private String horaEsperada;
	
	private int tiempoDesplazamiento;
	
	private int[] SemanaDeLaRuta;

	public RutaPasajero(String nombre, String nombreParadero, ArrayList<String> companheros, ArrayList<String> choferes, String horaEsperada, int tiempoDesplazamiento, int[] semanaDeLaRuta) {

		this.nombre = nombre;
		this.nombreParadero = nombreParadero;
		this.companheros = companheros;
		this.choferes = choferes;
		this.horaEsperada = horaEsperada;
		this.tiempoDesplazamiento = tiempoDesplazamiento;
		SemanaDeLaRuta = semanaDeLaRuta;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public ArrayList<String> getCompanheros() {
		return companheros;
	}

	public void setCompanheros(ArrayList<String> companheros) {
		this.companheros = companheros;
	}

	public ArrayList<String> getChoferes() {
		return choferes;
	}

	public void setChoferes(ArrayList<String> choferes) {
		this.choferes = choferes;
	}

	public String getHoraEsperada() {
		return horaEsperada;
	}

	public void setHoraEsperada(String horaEsperada) {
		this.horaEsperada = horaEsperada;
	}

	public int getTiempoDesplazamiento() {
		return tiempoDesplazamiento;
	}

	public void setTiempoDesplazamiento(int tiempoDesplazamiento) {
		this.tiempoDesplazamiento = tiempoDesplazamiento;
	}

	public int[] getSemanaDeLaRuta() {
		return SemanaDeLaRuta;
	}

	public void setSemanaDeLaRuta(int[] semanaDeLaRuta) {
		SemanaDeLaRuta = semanaDeLaRuta;
	}
	
	
	
	public String getNombreParadero() {
		return nombreParadero;
	}

	public void setNombreParadero(String nombreParadero) {
		this.nombreParadero = nombreParadero;
	}

	public int CompareTo(RutaPasajero otra)
	{
		String[] temp = horaEsperada.split(":");
		int horas = Integer.parseInt(temp[0]);
		int minutos = Integer.parseInt(temp[1]);
		
		temp = otra.getHoraEsperada().split(":");
		int horasOtra = Integer.parseInt(temp[0]);
		int minutosOtra = Integer.parseInt(temp[1]);
		
		Calendar c = Calendar.getInstance();
		int minutosActuales = c.get(c.MINUTE);
		int horasActuales = c.get(c.HOUR_OF_DAY);
		
		if(Math.abs(horasActuales - horas) < Math.abs(horasActuales - horasOtra))
		{
			return 1;
		}
		else if(Math.abs(horasActuales - horas) > Math.abs(horasActuales - horasOtra))
		{
			return -1;
		}
		else if(Math.abs(minutosActuales - minutos) < Math.abs(minutosActuales - minutosOtra))
		{
			return 1;
		}
		else if(Math.abs(minutosActuales - minutos) > Math.abs(minutosActuales - minutosOtra))
		{
			return -1;
		}
		else
		{
			return 0;
		}
	}
	
	

	
	
	
	
	

}
